Esta questão já tem respostas aqui: Como faço para retornar a resposta de uma chamada assíncrona? (42 respostas) Fechado há 5 meses. Portanto, ao executar o código a seguir, a resposta do console.log (ba) é indefinida Mas quando tento fazer isso no console do Chrome V8, obtenho a saída correta que estou esperando. Não tenho certeza do que está acontecendo aqui. let ba; function Setqa () { (assíncrono () => { aguardar busca ('question.json') .então (res => res.json ()) .então (assíncrono (dados) => { ba = aguardar dados; }); }) (); } Setqa (); console.log (ba); O conteúdo do arquivo json é o seguinte: "questões": [{ "questionType": "multiple", "question": "Como está o tempo", "respostas": "", "Resposta da questão": "" }, { "questionType": "multiple", "question": "Como você está hoje?", "answers": " 1", "questionAnswer": "textPurpose1" } ]
2021-02-27 08:13:46
Eu acho que deve funcionar let ba; function Setqa () { return fetch ('question.json') .então (res => res.json ()) .então (assíncrono (dados) => { ba = aguardar dados; }); } Setqa (). Then (() => console.log (ba)); Mas uma abordagem melhor seria função assíncrona setQa () { const res = aguarda busca ('question.json'); return res.json (); } deixe ba = esperar setQa (); | Não é a resposta que você está procurando? Navegue por outras questões com a tag javascript json fetch console.log ou faça sua própria pergunta.